package com.kylin.domain.oauth2.social.wechat;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Objects;

/**
 * 请求WechatSession的返回数据对象
 * @author Damon S.
 * @version v1.0.1
 * @date 2020年11月16日 23:05
 */
@Data
public class WechatSession {

    @JsonProperty("errcode")
    private Integer errCode;

    @JsonProperty("errmsg")
    private String errMsg = "解析jsCode2Session返回值异常";

    @JsonProperty("openid")
    private String openId;

    /**用户在开放平台的唯一标识符*/
    @JsonProperty("unionid")
    private String unionId;

    @JsonProperty("session_key")
    private String sessionKey;

    /** 返回结果是否有效 */
    public boolean isValid() {
        return Objects.isNull(errCode) && Objects.nonNull(sessionKey);
    }

    public static final WechatSession EMPTY = new WechatSession();
}
